In general, there can be different versions of a software application. For example, a later version of the application may include new features, bug fixes, etc. relative to the current version. In some situations, data migration may be required if the new version requires the persistent data to be in a new or modified format. For example, the new version may require new database table fields, changed table field types, new tables, etc. Data migration may also be required when the new version requires a merging of existing database table entries with new table entries.